/* 
 */

package com.uhaou.system.dao.impl;
import org.springframework.stereotype.Repository;

import java.util.*;
import org.apache.commons.lang.StringUtils;

 

import cn.org.rapid_framework.util.*;
import cn.org.rapid_framework.web.util.*;
import cn.org.rapid_framework.page.*;
import cn.org.rapid_framework.page.impl.*;
 
import com.uhaou.common.base.*;
import com.uhaou.system.dao.ISysUserDao;
import com.uhaou.system.model.SysFunction;
import com.uhaou.system.model.SysRoleAssign;
import com.uhaou.system.model.SysUser;
import com.uhaou.system.service.ISysUserManager;
import com.uhaou.system.vo.query.SysUserQuery;

/**
 * @author  jiangcheng
 * @version 1.0
 * @since 1.0
 */




@Repository("sysUserDao")
public class SysUserDaoImpl extends BaseIbatisDao<SysUser,java.lang.String> implements ISysUserDao{
	
	@Override
	public String getIbatisSqlMapNamespace() {
		return "SysUser";
	}
	
	public SysUser getById(java.lang.String id){
		return super.getById( id);
	}
	
	public void deleteById(java.lang.String id){
		super.deleteById(id);
	}
	
	/** 插入数据 */
	public void save(SysUser entity){
		if(StringUtils.isEmpty(entity.getId())) {
			entity.setId(IdGenerator.genUUIDStr());
		}
		super.save(entity);
	}
	
	/** 更新数据 */
	public void update(SysUser entity){
		super.update(entity);
	}

	public boolean isUnique(SysUser entity, String uniquePropertyNames){
		return super.isUnique( entity, uniquePropertyNames);
	}
	
	public List<SysUser> findAll(){
		 return getSqlMapClientTemplate().queryForList("SysUser.findAll");
	}
	
	public void saveOrUpdate(SysUser entity) {
		if(StringUtils.isEmpty(entity.getId())) {
			entity.setId(IdGenerator.genUUIDStr());
			super.save(entity);
		}
		else 
			super.update(entity);
	}
	
	public Page findPage(SysUserQuery query) {
		return pageQuery("SysUser.findPage",query);
	}
	

//	/**
//	 * 根据部门查询该部门下的人员列表 参数 map deptids 中的KEY是“itemList” 的值为要查询部门ID的集合 add by zhanghao 
//	 */
//	public List<SysUser> getUserByDept(Map deptids){
//		List <SysUser> userList = getSqlMapClientTemplate().queryForList("manual-SysUser.getUserByDept",deptids);
//		return userList;
//	}
//	/**
//	 * 根据部门编码查询该部门下及子部门下的所有人员。。。zhanghao
//	 */
//	public List<SysUser> getUserByCode(String deptCode){
//		List <SysUser> userList = getSqlMapClientTemplate().queryForList("manual-SysUser.getUserByCode",deptCode);
//		return userList;
//	}
	
}
